package cn.itsource.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 *	简单时间格式化类：主要是解决现实格式问题
 *		SimpleDateFormat：
 *
 *		构造方法：
 *			SimpleDateFormat() 
			SimpleDateFormat(String pattern)  安照字符串模板格式，创建一个含有指定模板的SimpleDateFormat对象

 *		1. 将Date转换为String类型
 *			步骤：
 *				1. 创建对象
 *					SimpleDateFormat sdf = new SimpleDateFormat();
 *				2. 准备String模板
 *					String pattern = "2019年8月17日 11:47:11";
 *				3. 应用模板
 *					sdf.applyPattern(pattern);
 *				4. 将Date转换为String
 *					sdf.format(date);
 *
 *		2. 将String转换为Date类型
 *			步骤：
 *				1. 创建对象
 *					SimpleDateFormat sdf = new SimpleDateFormat();
 *				2. 准备String模板(必须和字符串结构一致)
 *					String pattern = "2019年8月17日 11:47:11";		
 *				3. 应用模板
 *					sdf.applyPattern(pattern);
 *				4. 将String转换为Date
 *					sdf.parse(str);
 *	
 *		以上1~3步可以合为一步，SimpleDateFormat(String pattern)  安照字符串模板格式，创建一个含有指定模板的SimpleDateFormat对象
 */
public class SimpleDateFormatTest {

	public static void main(String[] args) throws ParseException {
		Date date = new Date();
		System.out.println(date);
		
		/*
		 * 1. 将Date转换为String类型
 *			步骤：
 *				1. 创建对象
 *					SimpleDateFormat sdf = new SimpleDateFormat();
 *				2. 准备String模板
 *					String pattern = "2019年8月17日 11:47:11";
 *				3. 应用模板
 *					sdf.applyPattern(pattern);
 *				4. 将Date转换为String
 *					sdf.format(date);
		 */
		//1. 创建对象 
		SimpleDateFormat sdf = new SimpleDateFormat();
		//2.准备String模板
		String pattern = "yyyy年MM月dd日 HH:mm:ss";
		//3. 应用模板
		sdf.applyPattern(pattern);
		//4. 将Date转换为String
		String format = sdf.format(date);
		System.out.println(format);
		
		/*
		 * 2. 将String转换为Date类型
 *			步骤：
 *				1. 创建对象
 *					SimpleDateFormat sdf = new SimpleDateFormat();
 *				2. 准备String模板(必须和字符串结构一致)
 *					String pattern = "2019年8月17日 11:47:11";		
 *				3. 应用模板
 *					sdf.applyPattern(pattern);
 *				4. 将String转换为Date
 *					sdf.parse(str);
		 */
		String time = "2050-8-17 11:47:11";
		/*
		//1. 创建对象 
		SimpleDateFormat sdf2 = new SimpleDateFormat();
		//2.准备String模板
		String pattern2 = "yyyy-MM-dd HH:mm:ss";
		//3. 应用模板
		sdf2.applyPattern(pattern2);
		将上面3步合3为一
		*/
		//SimpleDateFormat(String pattern)  安照字符串模板格式，创建一个含有指定模板的SimpleDateFormat对象
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
		
		//4.将String转换为Date
		Date parse = sdf2.parse(time);
		System.out.println(parse);
		
	}

}
